package org.csu.onlineedubackend.service;

import java.util.List;
import java.util.Map;

/**
 * 学生中心服务接口
 */
public interface StudentCenterService {

    /**
     * 获取学生最近观看的课程
     * @param studentId 学生ID
     * @param limit 限制数量
     * @return 课程列表
     */
    List<Map<String, Object>> getRecentCourses(Integer studentId, Integer limit);
    
    /**
     * 获取学生活跃度数据
     * @param studentId 学生ID
     * @param days 天数
     * @return 活跃度数据
     */
    Map<String, Object> getActivityData(Integer studentId, Integer days);
    
    /**
     * 获取学生学习进度分类数据
     * @param studentId 学生ID
     * @return 学习进度分类数据
     */
    Map<String, Object> getProgressCategoryData(Integer studentId);
    
    /**
     * 获取学生订阅但未完成的课程
     * @param studentId 学生ID
     * @param limit 限制数量
     * @return 课程列表
     */
    List<Map<String, Object>> getSubscribedUncompletedCourses(Integer studentId, Integer limit);
    
    /**
     * 获取学生订阅且已完成的课程
     * @param studentId 学生ID
     * @param limit 限制数量
     * @return 课程列表
     */
    List<Map<String, Object>> getSubscribedCompletedCourses(Integer studentId, Integer limit);
    
    /**
     * 获取学生收藏的课程
     * @param studentId 学生ID
     * @return 课程列表
     */
    List<Map<String, Object>> getLikedCourses(Integer studentId);
    
    /**
     * 获取所有订阅但未完成的课程
     * @param studentId 学生ID
     * @return 课程列表
     */
    List<Map<String, Object>> getAllSubscribedUncompletedCourses(Integer studentId);
} 